let messages = [
	{ text: 'Hello', from: 'John' },
	{ text: 'How goes?', from: 'John' },
	{ text: 'See you soon', from: 'Alice' },
]

let weakMap = new WeakMap()

weakMap.set(messages[0], Date.now())
weakMap.set(messages[1], Date.now())
weakMap.set(messages[1], Date.now())
// weakMap 还是只有两个元素，相同的键会被覆盖

console.log(weakMap.get(messages[0])) // 1723223641092（时间戳）

// 删除 messages 数组中第一条消息
messages.shift()

// weakMap 中对应的键和它的值也会被自动删除（技术上来讲，内存可能稍后才会被清理）
// console.log(weakMap.get(messages[0]))
